#include <cstdio>
#include <cmath>
using namespace std;

double PowerInt(double x, int y) { // y >= 0
	double p = x;
	double result = 1.0;

	while (y) {
		if (y & 1) {
			result *= p;
		}
		p = p * p;
		y >>= 1;
	}
	return result;
}

double PowerDouble(double x, double y) { // y = [0.0, 1.0)
	double p = std::sqrt(x);
	double result = 1.0;

	while (y > 1e-8) {
		if (y * 2.0 >= 1.0) {
			result *= p;
		}
		p = std::sqrt(p);
		y *= 2.0;
		if (y >= 1.0) {
			y -= 1.0;
		}
	}
	return result;
}

double Power(double x, double y) {
	bool sign = y < 0 ? true : false;
	if (y < 0) {
		y = -y;
	}

	double result = PowerInt(x, static_cast<int>(y + 1e-8)) *
		   PowerDouble(x, y - static_cast<int>(y + 1e-8));
	return sign ? 1.0 / result : result;
}

int main() {
	double x, y;
	while (scanf("%lf%lf", &x, &y) != EOF) {
		printf("%.6lf\n", Power(x, y));
	}
	return 0;
}
